一种基于嵌入式加速核心的独立显卡架构包括加速部件、互连总线和传输部件。显示控制器用于将显示存储器中像素数据输出至显示装置;图形处理器用于对图形类任务进行加速;视频加速器用于对视频和图像数据进行编解码操作。IO配置总线用于转发外部访问各部件的IO请求,以及对显示存储器数据的直接访问;数据传输总线用于转发各部件对主存储器数据的直接访问请求。接口转换器用于实现独立显卡内总线协议与独立显卡外系统接口的协议转换;直接存储访问控制器用于实现主存储器和显示存储器之间数据批量传输;存储控制器用于管理各部件对显示存储器数据的访问;路由部件分别用于将数据访问请求路由至所述显示存储器和所述主存储器。
1.一种基于嵌入式加速核心的独立显卡架构,其特征在于包括:加速部件、互连总线和传输部件;其中,所述加速部件包括显示控制器、图形处理器和视频加速器;所述互连总线包括IO配置总线以及数据传输总线;所述传输部件包括接口转换器、直接存储访问控制器、存储控制器、第一路由部件和第二路由部件;所述接口转换器用于实现独立显卡内总线协议与独立显卡外系统接口的协议转换;所述直接存储访问控制器用于实现主存储器和显示存储器之间数据批量传输;所述存储控制器用于管理各部件对显示存储器数据的访问;所述第一路由部件和所述第二路由部件分别用于将数据访问请求路由至所述显示存储器和所述主存储器。
2.根据权利要求1所述的基于嵌入式加速核心的独立显卡架构,其特征在于,所述显示控制器用于将显示存储器中像素数据输出至显示装置;所述图形处理器用于对图形类任务进行加速;所述视频加速器用于对视频和图像数据进行编解码操作。
3.根据权利要求1或2所述的基于嵌入式加速核心的独立显卡架构,其特征在于,所述IO配置总线用于转发外部访问各部件的IO请求,以及对显示存储器数据的直接访问;所述数据传输总线用于转发各部件对主存储器数据的直接访问请求。
4.根据权利要求1或2所述的基于嵌入式加速核心的独立显卡架构,其特征在于,所述独立显卡架构中的各部件通过软件驱动、管理和协作。
5.根据权利要求1或2所述的基于嵌入式加速核心的独立显卡架构,其特征在于,所述存储控制器支持与IO配置总线相连的第一端口、与显示控制器相连的第二端口、与图形处理器相连的第三端口、与视频加速器相连的第四端口、与直接存储访问控制器相连的第五端口的并发访问。
6.根据权利要求1或2所述的基于嵌入式加速核心的独立显卡架构,其特征在于,所述第一路由部件和第二路由部件包括:地址基准寄存器以及地址比较逻辑单元;其中,所述地址基准寄存器通过所述IO配置总线获取配置值,地址比较逻辑单元以从所述地址基准寄存器传递过来的地址数据作为划分界限确定访问所述主存储器、访问所述显示存储器。
7.根据权利要求1或2所述的基于嵌入式加速核心的独立显卡架构,其特征在于,所述第一路由部件和第二路由部件支持CPU通过所述IO配置总线动态修改地址基准寄存器。
8.根据权利要求1或2所述的基于嵌入式加速核心的独立显卡架构,其特征在于,所述显示控制器支持单路、双路甚至更多路显示输出。
9.根据权利要求1或2所述的基于嵌入式加速核心的独立显卡架构,其特征在于,所述图形处理器和所述视频加速器具有直接访问主存储器数据的能力。
技术领域本发明涉及计算机技术领域,更具体地说,本发明涉及一种基于嵌入式加速核心的独立显卡架构。
背景技术随着IT技术和互联网的发展,家庭娱乐和消费类应用需求不断扩大,在计算机系统中扮演着越来越重要的角色。家庭娱乐和消费类应用以显示和多媒体需求为主要特点,为了满足其不断增长的应用需求,计算机系统中集成图形处理器(GPU,Graphicsxa0Processingxa0Unit)专门对其进行处理,并在此基础上构建板级“显卡”加速设备。目前,显示与多媒体应用需求横跨消费类电子、个人PC机和服务器等计算机各领域,市场前景广阔。根据实现特点,业界将显卡主要划分为两类:集成显卡和独立显卡。无论是“集成”还是“独立”,两者主要针对GPU是否与CPU共享主存储器而言。集成显卡主要特点为:集成GPU,但未对应独立的显示存储器,其访问的存储空间位于主存储器中,即与CPU共享主存储器。集成显卡一般不作为独立板级设备存在,主要集成在主板内;相反,独立显卡除集成GPU外,还对应独立显示存储器,GPU内集成存储控制器实现对显示存储器的访问。独立显卡一般作为独立板级设备存在,通过标准系统接口与主板和CPU连接。早期计算机系统中,存储器控制器位于主板北桥芯片内,CPU通过标准系统接口与北桥芯片连接,访问主存储器;GPU亦与北桥芯片连接,实现与CPU交互。对于集成显卡而言,GPU通过标准系统接口访问主存储器,与主CPU共享访存带宽,其延迟尚可接受,可满足一般应用需求。但随着计算机技术和工艺水平的发展,主存储控制器逐渐由北桥芯片内转移至CPU内。在此架构下,对GPU而言,其共享访问主存储器延迟变得更长,越来越难以接收。典型集成显卡如Intelxa0GMA系列,主要满足低端和中低端应用需求。为了避免与CPU竞争主存储器,独立显卡板集成显示存储器,GPU内集成存储控制器对其进行访问,同时通过标准系统接口与CPU和主存储器交互,支持直接存储访问(DMA,Directxa0Memoryxa0Access)等高效操作。GPU可直接低延迟访问独立的显示存储器,有效提高其对应用的加速性能。独立显卡技术复杂、研制门槛高,关键技术主要掌握在个别厂商手中,且技术封闭性强,其驱动具有不开源特性。使得软件上无法与非x86指令集CPU相匹配。除上述集成显卡和独立显卡架构外,近年随着工艺水平提高,还出现新型集成SoC(片上系统)架构实现显卡功能。此类集成SoC架构特点是:将GPU核心与CPU核心等集成在同一芯片内,两者通过共享总线或其他互连接口与存储控制器相连,实现对主存储器的共享访问。从某种意义上而言,集成SoC架构可视为集成显卡架构延伸和改进,由于位于同一芯片内,CPU与GPU核心通信效率提高。国内具备显示与多媒体处理能力、典型集成SoC架构芯片例如北大众志,主要面向嵌入式和工业控制等领域应用,难以满足PC机(个人计算机)、服务器等系统需求。
发明内容本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种独立显卡构架,其能够满足PC机和服务器等各种系统对显卡的需求。根据本发明,提供了一种基于嵌入式加速核心的独立显卡架构,其包括:加速部件、互连总线和传输部件;其中,所述加速部件包括显示控制器、图形处理器和视频加速器等;所述互连总线包括IO配置总线以及数据传输总线;所述传输部件包括接口转换器、直接存储访问控制器、存储控制器、第一路由部件和第二路由部件等。优选地,所述显示控制器用于将显示存储器中像素数据输出至显示装置;所述图形处理器用于对图形类任务进行加速;所述视频加速器用于对视频和图像数据进行编解码操作。优选地,所述IO配置总线用于转发外部访问各部件的IO请求,以及对显示存储器数据的直接访问;所述数据传输总线用于转发各部件对主存储器数据的直接访问请求。优选地,所述接口转换器用于实现独立显卡内总线协议与独立显卡外系统接口的协议转换;所述直接存储访问控制器用于实现主存储器和显示存储器之间数据批量传输;所述存储控制器用于管理各部件对显示存储器数据的访问;所述第一路由部件和所述第二路由部件分别用于将数据访问请求路由至所述显示存储器和所述主存储器。优选地,所述独立显卡架构中的各部件通过软件驱动、管理和协作。优选地,所述存储控制器支持与IO配置总线相连的第一端口、与显示控制器相连的第二端口、与图形处理器相连的第三端口、与视频加速器相连的第四端口、与直接存储访问控制器相连的第五端口的并发访问。优选地,所述路由部件包括:地址基准寄存器以及地址比较逻辑单元;其中,所述地址基准寄存器通过所述IO配置总线获取配置值,地址比较逻辑单元以从所述地址基准寄存器传递过来的地址数据作为划分界限确定访问所述主存储器、访问所述显示存储器。优选地,所述路由部件支持CPU通过所述IO配置总线动态修改地址基准寄存器。优选地,所述显示控制器支持单路、双路甚至更多路显示输出。优选地,所述图形处理器和所述视频加速器具有直接访问主存储器的数据的能力。本发明基于嵌入式加速核心构建功能完整的独立显卡,可满足PC机和服务器等领域对显示与多媒体处理能力需求。其中,各加速核心彼此独立,可通过驱动软件统一管理协作,方便独立升级;而且,通过增强单个加速核心能力或集成多个相同类型加速核心,可快速提升加速能力,具有很强的扩展性;集成专门视频加速器,支持各种常见视频格式编解码,与主流商业显卡相比,支持格式种类更加丰富、处理能力也大幅加强。
附图说明结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:图1示意性地示出了现有嵌入式技术中加速核心的组成示意图。图2示意性地示出了根据本发明实施例的独立显卡架构示意图。图3示意性地示出了根据本发明实施例的独立显卡架构中路由部件的结构框图。需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。
具体实施方式为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。本发明基于嵌入式领域多种不同类型的显示与多媒体加速核心构建可扩展独立显卡架构,实现完整功能的独立显卡装置,从而满足PC机和服务器等系统中对独立显卡需求。在描述本发明的优选实施例之前,先简要描述现有嵌入式技术中加速核心,以便于理解本发明与现有技术的区别。图1示意性地示出了现有嵌入式技术中加速核心的组成示意图。如图1所示,现有嵌入式技术中加速核心包括:IO(输入输出)接口1、数据接口2和功能核心3。在集成SoC架构芯片中,IO接口1主要与IO配置总线4互连,接收CPU核心对加速核心的配置命令从而启动任务加速;数据接口2主要与访存数据总线5互连,从存储器中获取数据;功能核心3部分则为任务执行部件。对单个加速核心而言,IO接口1和数据接口2一般具有唯一性。与上述现有技术不同的是,在本发明实施例中,显卡加速芯片通过标准系统接口与CPU连接,片内集成存储控制器管理板上显示存储器,通过显示接口与显示器互连。在芯片内部,加速核心仍旧通过IO配置总线和数据传输总线互连,但不再与CPU核心共享总线,而是通过接口转换部件将片内总线协议转换为标准系统接口协议后与CPU或主板连接,从而独立于CPU或主板实现。与传统独立显卡实现相比,本发明实施例中各加速核心彼此相对独立,主要由驱动软件进行管理和协作;且在显存和主存之间支持各种粒度数据的高效传输,支持加速核心直接访问主存。下面将具体描述本发明的优选实施例。图2示意性地示出了根据本发明实施例的独立显卡架构示意图。如图2所示,根据本发明实施例的独立显卡架构主要组成可分为三大部分:加速部件、互连总线和传输部件等。优选地,所述独立显卡架构中的各主要部件通过软件驱动、管理和协作。其中加速部件为功能执行部件,其包括:显示控制器301、图形处理器302和视频加速器303。互连总线包括:IO配置总线L2、以及数据传输总线L1。传输部件为辅助部件,其包括:接口转换器31、直接存储访问控制器304、存储控制器32和路由部件(第一路由部件ROU1和第二路由部件ROU2)等。更具体地说,各组成部分的主要功能和特点如下:a)嵌入式加速核心显示控制器301:将显示存储器50中像素数据输出至显示装置。例如将显示存储器50中帧缓冲像素数据输出至显示器40。显示控制器301通过IO接口接收外部对其分辨率等参数配置命令。根据性能不同,显示控制器301可支持单路和/或双路显示输出,并且可支持不同的显示分辨率等。图形处理器302:对图形类任务进行加速。图形类应用可分为2D(二维)/3D(三维)类型,相应地,图形处理器302可支持2D和/或3D加速。视频加速器303:对各种视频和图像数据进行编解码操作。常见视频和图像格式包括:H.264、MPEG-4、MPGE-2、AVS、RV、DivX、MJPEG和JPEG等。部分图形类应用和视频类应用访问数据具有一定随意性,因此,优选地,要求图形处理器302/视频加速器303核心具有直接访问主存储器数据的能力,即图形处理器302/视频加速器303能够直接访问主存储器中的数据。b)互连总线IO配置总线L2:转发外部访问各部件的IO请求,以及对显示存储器50数据的直接访问。数据传输总线L1:转发各部件对主存储器20数据的直接访问请求。典型片内总线包括:AMBA总线、Wishbone总线等。其中AMAB总线又可细分为AHB总线、AXI高速总线等。c)传输部件接口转换器31:实现独立显卡内总线协议与独立显卡外系统接口11的协议转换。为与主流商业独立显卡保持接口兼容,本发明实施例显卡可采用PCI、PCIxa0Express等标准接口与CPU或主板连接。更具体地说,例如,如图2所示,接口转换器31可分别通过IO配置接口311和数据传输接口312连接至IO配置总线L2和数据传输总线L1。直接存储访问控制器304:实现主存储器20和显示存储器50之间数据批量高效传输。CPUxa010在启动加速核心运行前,需将原始数据由主存加载至显存。采用直接存储访问方式,直接存储访问控制器304可有效提高传输效率,减轻CPUxa010负担;同时,在加速核心执行某个任务时,直接存储访问控制器304可同时进行数据传输,为下个加速任务作准备,从而掩盖数据搬迁延迟。存储控制器32:管理各部件对显示存储器数据的访问;优选地,存储控制器32支持多端口(与IO配置总线L2相连的第一端口P0、与显示控制器301相连的第二端口P1、与图形处理器302相连的第三端口P2、与视频加速器303相连的第四端口P3、与直接存储访问控制器304相连的第五端口P4)并发访问。存储控制器32除支持各部件通过数据接口(P1~P4)访问显示存储器50外,还支持CPUxa010通过IO配置总线L2(P0)直接访问显示存储器50数据(主要用于CPUxa010对显示存储器50小规模数据操作)。路由部件ROU(第一路由部件ROU1和第二路由部件ROU2):实现加速核心唯一数据接口的拆分,将数据访问请求路由至显示存储器50和主存储器20。优选地,第一路由部件ROU1和第二路由部件ROU2支持CPUxa010通过IO配置总线L2动态修改地址基准寄存器。虽然图2示出了第一路由部件ROU1和第二路由部件ROU2分离的结构,但是实际上第一路由部件ROU1和第二路由部件ROU2可集成为单个路由单元。在图2所示的构架中,独立显卡虽然与CPU相分离,但两者存在大量数据交换需求。由此提供多条数据通路用于显示存储器50和主存储器20的数据交换,支持各种不同粒度和规模下的数据高效传输。对于小规模数据,CPU可选择直接通过IO配置总线L2访问显存数据;对于大批量数据,可通过直接存储访问控制器304实现高效迁移。本发明实施例利用包括第一路由部件ROU1和第二路由部件ROU2的路由部件的设计来有效扩展加速核心访存对象。具体地说,在现有技术的嵌入式集成SoC架构中,主存与显存为共享方式,加速核心仅需访问此唯一空间;但在独立显卡架构中,显存和主存彼此独立,加速核心除访问显存数据外,还需访问主存数据。图3示意性地示出了根据本发明实施例的路由部件的结构框图。如图3所示,根据本发明实施例的路由部件包括:地址基准寄存器R1以及地址比较逻辑单元R2。其中,地址基准寄存器R1通过IO配置总线L2获取配置值,地址比较逻辑单元R2以从地址基准寄存器R1传递过来的地址数据作为划分界限确定访存请求A3访问主存A1(访问主存储器20)、访问显存A2(访问显示存储器50)。此外,路由部件所包含的IO接口可支持CPU通过IO配置总线L2动态修改地址基准寄存器,增强独立显卡灵活性。本发明实施例仅包含两个路由方向,因此仅需一个地址基准寄存器R1作为路由表项即可。支持CPU在提交单个任务至加速核心前修改地址基准寄存器配置。本发明实施例路由部件的提供能够有效规避嵌入式加速核心仅支持唯一数据接口缺陷,支持其对主存数据直接访问,有效迎合显示与多媒体类应用数据访问具有一定随意性要求。本发明实施例基于嵌入式加速核心构建功能完整的独立显卡,可满足PC机和服务器等领域对显示与多媒体处理能力需求。其中,各加速核心彼此独立,可通过驱动软件统一管理协作,方便独立升级;而且,通过增强单个加速核心能力或集成多个相同类型加速核心,可快速提升加速能力,具有很强的扩展性;集成专门视频加速器,支持各种常见视频格式编解码,与主流商业显卡仅支持H.264/MPEG-4格式相比,支持格式种类更加丰富、处理能力也大幅加强。可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。